#!/usr/bin/perl

use strict;
use warnings;

use Test::More tests => 29;

&_ok_("generic/test01", "31");
&_ok_("generic/test02", "30");
&_ok_("generic/test03", "22");
&_ok_("generic/test04", "54");
&_ok_("generic/test05", "25");
&_ok_("generic/test06", "59");
&_ok_("generic/test07", "28");
&_ok_("generic/test08", "26");
&_ok_("generic/test09", "113");
&_ok_("generic/test10", "110");
&_ok_("game/g01", "60");
&_ok_("game/g02", "58");
&_ok_("game/g03", "111");
&_ok_("game/g04", "48");
&_ok_("game/g05", "99");
&_ok_("game/g06", "39");
&_ok_("game/g07", "42");
&_ok_("game/g08", "65");
&_ok_("game/g09", "60");
&_ok_("game/g10", "442");
&_ok_("game/g11", "40");
&_ok_("game/g12", "45");
&_ok_("game/g13", "73");
&_ok_("game/g14", "700");
&_ok_("game/g15", "75");
&_ok_("game/g16", "120");
&_ok_("game/g17", "114");
&_ok_("game/g18", "73");
&_ok_("game/g19", "279");

# Unresolved failures
TODO: {
    local $TODO = 'Known issue';
    my $case;

    #$case = "";
    #ok( system("grep '*** Error' $case.log >& /dev/null"), $case);
}

# case_name, golden number of steps
sub _ok_ {
    local $_;
    my $case = $_[0];
    my $golden = $_[1];
    ok( `grep -e "--- Step " $case.log | tail -n1` eq "--- Step $golden\n" # test item 1
	&& system("grep '*** Error' $case.log >& /dev/null"), # test item 2
	$case);
}

